home *** CD-ROM | disk | FTP | other *** search
- Upgrading TNOS to release 1.12
- http://www.lantz.com/Update1.12.html
-
-
- TNOS 1.12 will be the next release of TNOS, to be released sometime
- before the formation of the United Federation of Planets. Hopefully,
- this list of changes will give you an idea of the scope of work that has
- occurred between versions. Of course, it may be faster just to re-read
- the docs when the next version is released.
-
-
- This document is divided into:
-
-
- * Bug Fixes
- * Improvements
- * Minor Changes
- * Known Bugs
- * To-Do List
-
-
-
- ------------------------------------------------------------
- Bug Fixes:
-
- The following bugs have been squashed.
-
-
- * Tscript mailing once again works
- The ~d and ~dr commands didn't mail their output in release 1.11. Now
- fixed.
-
- * Small TCPGATE buglet fixed
- When a TCPGATE connection was made, the logfile tried to print an integer
- as a string, causing garbage in TNOS/DOS logfiles, and causing occasional
- program crashes under TNOS/Linux. Now fixed.
-
- * The BBS 'RM' command fixed
- A seemingly long standing bug with the 'RM' command has been fixed. (Can't
- believe no one ever reported that one before).
-
- * A long-standing trace buglet squashed
- For quite some time (maybe forever) the hex dump tracing of AX25 interfaces
- have had a leading zero byte in the display. In TNOS 1.00, I stripped the
- first byte, only to find that the AX25 was fine, but others weren't.
- TNOS 1.10 and 1.11 were released with the original buglet. Now the first
- byte (the bogus zero byte) is stripped if the interface is an AX25, but
- it is left alone for all other interface types.
-
- * Fixed the alternate REQSVR "uploadblind" syntax
- The "ub filename" alternate syntax for the "uploadblind" sub-command didn't
- work due to a now squashed buglet.
-
- * Fixed a minor security buglet in the BBS 'conf' command
- There has been a minor buglet discovered in the mbox 'conf' command. If
- you use the 'c' command, then permissions are properly checked for the
- NO_CONVERS flag, and the attempt fails if the permissions have this flag.
- Well, the 'conf' command WASN'T checking this permission.
-
- * New mail buglet smashed
- There was a buglet that occurred if you were in the BBS with unread mail
- and a new message came in. What happened was that the current message was
- set in the routine that checks for new mail to the FIRST unread message,
- which is one MORE than what is just WAS. This now preserves the current
- message number when new mail comes in.
-
- * BBS buglet, causing unnecessary DNS lookups, is dead
- There was a buglet in the isanIPhost() function, which is called when the
- user sends a mail message. It had a piece of code, which looked at the
- address, and if it was a common Internet address extension, then it would
- bypass a DNS lookup.
-
- Well, the logic was wrong, and the result was to ALWAYS look up the
- address with DNS.
-
- * BBS Login 'ghost' now busted
- Thanks to Rob Mayfield <mayfield@guest.adelaide.edu.au> for pointing me
- to another problem. Every once in a while (in any xNOS) you will see that
- you have a ghost user, that is 'LOGGING IN', but isn't really there. They
- WERE, but the connection is gone and the tdisc timer didn't kick in.
- Well, this was because the tdisc timer wasn't started until AFTER the
- login was complete. This has now been moved to before the login, so when
- the 'mbox tdisc' timer kicks, the ghost is busted...
-
- * Small filename buglet with tutorial files under Linux
- While the intention was to allow a tutorial file to be *.tut, for Linux
- this was fine but NOT if you wanted to name it *.*.tut. There could be
- only one '.' in a file name.
-
- Thanks to Rob Mayfield <mayfield@guest.adelaide.edu.au> for catching this
- one....
-
- * Expiration bug found
- One of the hardest ones I've had to find was this one....
-
- It seems that if the public areas are expiring AND a message comes in for
- THAT area while THAT area is expiring, bad things happen. Sometimes the
- file(s) get corrupted. Sometimes a lockup. Sometimes the SMTP process
- would abort, leaving the ".CTL" file open. When it tries again later, if
- the expiration is STILL going on (large file - short timers), then
- ANOTHER ctl file COULD be left open. This SOMETIMES resulted in DOS
- getting all available files hanging, making a crash eventual.
-
- Well, this one should be good and squashed!
-
- * Forwarding subchannels quirk fixed
- If you were using the subchannels feature for forwarding, and not all BBSs
- with traffic to pass could start (due to subchannel limiting), then a quirk
- occured if the first (or an early BBS) fails, due to not being available.
- If this happened, the next forwarding slot would go to them, NOT to the
- next one waiting. This only became a BIG problem if the subchannel was
- limited to one. In this case, the next ones NEVER did get a chance.This has
- now been fixed.
-
- * Statline command in Linux version fixed
- I THINK (repeat, THINK) that I found what was goofing up the statline
- functionality under Linux, and causing the instability.
- The problem was two-fold. If you were NOT on the command session the
- display would not update, though the routine WAS being called !?!?
- Second, turning it on made you a ticking timebomb waiting for a place to
- happen.
-
- Well, it seems that it WAS updating the screen, the COMMAND screen. And
- after it had been sufficiently backlogged, the thing blew! So you could
- stay on the command session all day with no problem, but start to do
- something in another session and you would die after a SHORT while.
-
- * BBS Mail scan at startup w/Linux
- There was a bug with the mail scan at login in the Linux version. It is
- fixed in release 1.12
-
-
-
- ------------------------------------------------------------
- Improvements:
-
- The following optimizations and improvements have occurred.
-
-
-
- * Trace display of encap frames improved
- Added code to the tracing of encapsulated packets to show the encap
- IP type, which is either 4 or 94. Until the 94 type is completely history,
- this will assist in debugging encap problems.
-
- * Home BBS prompt message not in a changable file
- Changed the ASKHOME first-time prompt message from being a compiled in
- message to being one read from a file named '/spool/askhome.dat'.
-
- * Completely customizable prompt
- Added a new option to the 'prompt' command, "prompt custom 'promptstr'"
- which allows you to fully customize the prompt to whatever you wish. To use
- imbedded spaces, surround the string in quotes.
-
- * Two new short-cut commands
- Added two new command session commands, 'gone' and 'here'. These 'gone'
- command is the same as 'attend off' and 'mbox attend off'. The 'here'
- command sets these both to 'on'.
-
- * Made the rewrite file parsing more dependable
- The routine that parsed the rewrite file was very dependent on having only
- a single space or tab between fields. This is no longer a problem.
-
- * A small change to Conference Bridge flow control
- Made a small change to the flow control, which places the Conference stream
- in non-CR flow mode during the processing of Conference Bridge commands,
- and then places it back into CR flow control while waiting for new commands
- or data (the original flow control). This allows the incoming data messages
- to come out as soon as they arrive, without queueing, but makes the output
- of commands (like /who) come in the most efficient manner for the interface.
-
- * Added run-time configuration of the ARP expiration timeout
- Now there is a 'arp expire numseconds' command. The default is the old
- hardcoded value of 900 (15 minutes).
-
- * Added an 'unlock' command
- Necessity again adds to the command set! There is now a command session
- command 'unlock unlockpassword' that can be accessed as a remote sysop
- to bring a mountaintop TNOS box out of keyboard lock, so you can allow
- a volunteer to assist on site without giving the password out.
-
- * Also now allow remote locking
- To allow the keyboard to be secured remotely, the previousi restriction
- to the 'lock' command, which would not allow it to be executed remotely,
- has been removed. The idea is, if they have remote sysop permissions,
- then you are already trusting them, so allow it.
-
- * Added ability to ALWAYS display MOTD file
- The MOTD file used to be a one-shot only, that is, you only saw it once,
- on your next login only. To display it again after changes, you used the
- 'mbox newmotd' command. There is now a 'mbox motdalways' command, so
- if you desire to, you can always have the MOTD file displayed on EACH login.
-
- * Extended the flexibility of security permissions
- I've added two new security subcommands, 'amprperms' and 'nonamprperms',
- which ought to be obvious on who they are for ;-)
- I also made a change to how these work, so let me explain from scratch:
-
- The security subcommands of 'amprperms', 'ax25perms', 'nonamprperms',
- and 'tipperms' serve as a way to have a greater deal of control over
- anonymous logins to the BBS. These all default to a value of zero, which
- disables their use. When a user logs into the BBS anonymously, they get
- whatever value the 'univperm' entry is set for (if it exists). Then the
- type of connection is determined; i.e. ampr telnet, ax25, non-ampr
- telnet, or tipmail. IF the corresponding security permission is non-zero,
- then THAT value will be used, overridding the 'univperm' permissions.
-
- This allows you to have different anonymous permissions for each of these
- four groups, or use the old way if you prefer.
-
- * New BBS script hooks for access denial
- There is also a new set of mbox script hooks in all of the routines that
- deny access for gatewaying to either converse, netrom, ax25 connects,
- telnet, or if the use is denied because the 'mbox secure' flag is on.
-
- The script that will be called (if it exists) is the
- spool/cmds/denied.sys script. It is passed in ~0 a string of 'denied xxxx',
- where 'xxxx' is either 'converse', 'ax25', 'telnet', 'netrom', or 'secure'.
-
- This allows you to make a custom and more friendly message explaining the
- denial.
-
- * TAPR Hierarchical Addressing Protocol enforced
- This release enforces the TAPR
- Hierarchical Addressing Protocol (x.3.4) as published. The 'mbox haddress'
- command will NOT accept an address that is not using one of the 19
- 4-character Continent Identifiers listed in the protocol or an address
- that is not using a 3-character Country Identifier.
-
- While I have avoided coding in items that restrict the user, I believe
- that the Protocol, as recommended by TAPR's BBSSIG and TAPR's board, is
- important and should be adopted.
-
- * Command to limit number of BBS incoming sessions
- Give them a stable xNOS, and then they want to limit the number of users ;-)
-
-
- Well Mat requested:
- "BTW, what do you think of a 'mbox maxusers #' command to limit
- online users?"
-
- Well, it's in 1.12.
-
- * Added a command session uptime command.
- Didn't take much, and I got tired of typing 'mbox mailstat'...
-
- * Further security options....
- There will also be a greater degree of security in release 1.12 in the
- area of email. There are now three new permission flags, no_pbbs_mail
- (Disallow PBBS mail addresses), no_inet_mail (Disallow non-ampr mail
- addresses), and no_ampr_mail (Disallow ampr mail addresses).
-
- * New command 'mbox bidsuffix'
- There is a new command session command 'mbox bidsuffix', which allows you
- to define the string used to make up the bids on messages created
- locally. This was normally based on the first part of the hostname, but
- for hosts like 'gw.n9xxx.ampr.org', the "12345_GW" didn't cut it. Most
- won't need this, but if you do it's there.
-
- * New command 'mbox rcall'
- There is a new command session command 'mbox rcall', which allows you to
- define the string used to make up the first element of the haddress used
- in the R: lines ('mbox haddress' should NOT include the callsign). This
- was normally based on the 'ax mycall'. While this is normally not needed,
- some are maintaining more than one TNOS machine (myself included) and
- this allows the callsigns to be the same (or different) and the haddress
- to be varied, also.
-
- * Introducing 'ax25 smartroute'
- Smart routing is where when an address is overheard which is NOT to your
- TNOS box, it looks in (1) optional remote calls associated with the axip
- interface (more later), (2) the current ax25 routing table, (3) the ax25
- heard listings. If the call is intended for one of these (someone that
- TNOS can identify with an interface - and not the interface it came in
- on), then the packet will be digipeated to the proper interface
- automagically!
-
- For instance, K1XXX is a user located on port '2m' of TNOS system N4YYY.
- N4YYY can connect to him in his BBS with 'C 2m K1XXX'. Now W3ZZZ is
- another xNOS system, connected to N4YYY via an axip link, on his port
- named 'link1'. W3ZZZ can now connect to K1XXX directly using
- 'C link1 K1XXX' and K1XXX can connect to W3ZZZ using 'C W3ZZZ' from HIS
- station, without using, or knowing TNOS, and without knowing of the
- existence of N4YYY.
-
- Notice that I said W3ZZZ was a xNOS user, and not a TNOS user. One TNOS
- smart router can serve both ends.
-
- * Maintainence Mode added
- There are three new commands that alter what I call Maintainence Mode.
- This provides a way to prevent further BBS connects in order to do
- maintainence chores, like expiration.
-
- mbox maintainence [on | off]
- displays/sets state of maintainence mode
-
- mbox maintmode [on | off]
- displays/sets whether maintainence mode is really used
-
- mbox maintstr [string]
- displays/sets the string given to the users that try to
- connect while maintainence is being done.
-
- For example, if 'mbox maintmode' is on, then you can type 'mbox
- maintainence on', and no further logins will be permitted until you type
- 'mbox maintainence off'.
-
- The expire code now uses this mode, if it is enabled, to set maintainence
- mode, and then it waits until any current users log off. Once the BBS is
- clear, then the expiration continues.
-
- The White Pages expiration code uses this in the same way.
-
- You will want to schedule these to occur at non-peak times (4 a.m., etc.).
-
-
- * LOOK comes to TNOS
- One feature that made it into JNOS a while back seemed to escape my
- attention, the 'look' command. If you come to TNOS from a recent JNOS,
- you probably already know about LOOK (except for my additions ;-)
- Thanks goes to Mike Dent <g6phf@unixphf.ampr.org> for making me aware of
- this one.
-
- Typing 'look user' or 'look socket#', gives the sysop a 'split' screen
- picture window of whatever the user you are looking at types OR receives,
- as though you where that user. Special commands for the sysop include:
-
-
- /chat
- starts a chat session to the user, user sees
- "***SYSOP initiated CHAT".
-
- /quit (or /bye or /exit)
- stops the look session or the chat session, if active.
-
- /msg message
- sends a '<sysop>:' followed by your message.
-
- /help (or /?)
- gives a SMALL help message.
-
- /insert command
- allows the sysop to take over and do the typing for users
- from the sysop's look session. The user would still see
- the text the sysop was typing.
-
-
- * Selective holding of locally generated mail
- Added a command 'mbox holdall' to allow you to hold all locally generated
- BBS messages for SYSOP review.
-
- * AXUI mode developed
- Well, added another SYSOP tool, AXUI, which allows you to monitor all
- broadcast UI frames, and allows you to send UI's message to a definable
- callsign out a definable interface. The source callsign is the 'ax user'
- callsign.
-
- Commands syntax is: 'axui <iface> [callsign]" If 'callsign' is
- not given, then 'ID' is used. This gives the sysop a 'split' screen
- picture window of all of the UI non-protocol frames from ALL interfaces.
- The commands within AXUI are:
-
-
- /call callsign
- changes the outgoing destination callsign to 'callsign'
-
- /quit (or /bye or /exit)
- stops the axui session
-
- /interface iface
- changes the outgoing interface to 'iface'
-
- /help (or /?)
- gives a SMALL help message.
-
-
- This is a tool I've needed many times when debugging TNOS or debugging
- the local network. Also, there WAS no way to easily send a keyboard UI
- before. Hopefully this will be useful.
-
-
-
- ------------------------------------------------------------
- Minor Changes:
-
- The following minor changes have occurred.
-
-
- * The "Mailbox" now a "BBS"
- The point was well made that the "Mailbox" has matured into a "BBS", so the
- logon and logoff messages reflect this change.
-
- * Added to the 'write' command
- Now the 'write' command will allow you to send data to a Conference
- Bridge user.
-
- * Added automatic parsing/responding to BBS SIDs when forwarding
- Now, when you set up a script to forward to a BBS through another station,
- the SID of the distant station is parsed, and then an automatic response
- is sent, your SID.
-
- * Less DNS lookups needed with sending mail from the BBS
- There is now another test done BEFORE isanIPhost(),
- which looks for a properly formatted (read that as '4 character
- continent') PBBS address. If it is one, then the isanIPhost() check is
- not needed....
-
- * Made the BBS commands MM and MC more flexible
- Now allow a range (x-x) to be given as a parameter, like the 'k' command.
-
- * BBS area descriptions added
- There is now a file (/spool/help/areas.hlp) which is looked at when a
- user changes areas. If an entry exists for that area, the data from that
- entry is displayed with the area change. This data is NOT displayed for
- BBSs or users that have EXPERT mode on.
-
- The file is in the same format as the other help files:
-
- :keyword
- any data you want
- as many lines as you want
- :newkeyword
-
- * The expire routine accepts non-standard dates.
- The mod, originally by WA3DSP, has been added with changes to allow dates
- that have 4-character year strings, instead of the standard 2-character
- ones to be properly interpreted.
-
- * AXIP remote callsign support for Smart Routing
- The AXIP attach command has been extended to include an optional remote
- callsign. This keeps you from having to add all of these to your 'ax
- route' tables to use them with Smart Routing.
-
- * Local SYSOP can now initiate a chat session
- How many times have you been typing along on your TNOS box, when all of a
- sudden, <BEEP>! Your screen has changed, and you have been abruptly
- placed in a chat session with either a ttylink user or a BBS user using
- the Operator command.
-
- Well, now SYSOPS, you can turn the tables. There is now a command session
- command 'mb chat <bbsuser>' (with a 'chat <bbsuser>' for the lazy among
- us). If the user is NOT sitting idle at a command prompt, when the current
- command is complete they are placed into the chat session (Do not pass
- go, Do not collect $200.00)
-
- If they ARE idle at the command prompt, they are BEEPed at and told that
- "SYSOP requests a chat.....", and they are in the chat.
-
- Thanks to Mike Dent <g6phf@lurpac.lancs.ac.uk> for the suggestion....
-
- * BBS 'encode' command
- There is now a BBS 'encode' command, requires SYSOP permissions,
- which encodes the FTPUSERS files from the BBS.
-
- * Added the 'ax25 user' command
- There is now an 'ax25 user <callsign>" command, which sets the callsign
- used for console connects. This is the companion to the 'netrom user'
- command. This allows outgoing connects to use the same call on all
- interfaces, regardless of the interface call. It can also be used, for
- instance, at a club station machine, to painlessly change call signs for
- different users.
-
- * Added a 'quiet' parameter to statline
- The command session command is changed to 'statline [on|off] [quiet]',
- allowing you to turn statline on without getting the audible alert when
- data comes in to one of your non-selected interactive sessions.
-
-
-
- ------------------------------------------------------------
- Known Bugs:
-
- The following are known bugs that remain as of release 1.12.
-
- * TCPGATE problems
- There is a problem with TCPGATE if a socket is prematurely closed. This is
- being worked on.
-
- * Screen saver not right in Linux version
- Display doesn't clear, just overwrites. Not harmful, but not right.
-
- * BID and WHITE PAGES flakiness, at times
- The expiring and sorting of BIDS and WP can at times make things
- a little flakey. These are still under construction.
-
- * Infrequent 'SC' bug
- If you use 'SC', sometimes not all of the copies get sent, if PBBS
- forwarding is used.
-
- * FTP permissions improved
- The new UNIX-like dir display needs a little more work with the permissions
- portion of the display...
-
- * Data coming into a 'closed' port causes bad things
- If data comes into a port that WAS open but is NOW closed, bad things can
- happen. This is not a TNOS-specific bug, but has been around since
- probably day one.
-
-
- ------------------------------------------------------------
- To-Do List:
-
- The following are things on my 'to-do' list that should eventually
- be done, but not necessarily by the next release.
-
- * Linux kernel AX25 devices available from TNOS/Linux
- This would allow the PI card to be used....
-
- * BID History moved to an in-memory structure
- This will eliminate the need to sort the history file, allow faster
- lookups, and eliminate the need to 'bid kick' in order to update the BID
- info.
-
- * Bypass internet SMTPClient->SMTPServer for local mail
- Find a way to do all that is being done, without the overhead of two
- separate processes, and two different temp files.
-
- * FBB-style forwarding
- No, I didn't give up on this....
-
- * HTTP daemon???
- Who knows!
-
- * Add in a way to process PBBS 'import' files
- Probably by rewriting a file to area 'import', the file would be processed
- and the messages treated as being received by a direct PBBS connection.
-
- * Possible incoming email 'budlist'
- Possibly add a command to look at incoming "From:" addresses and either
- hold the message, bounce it, or bit-bucket it if it comes from a 'budlist'ed
- name in a file.
-
- * Possible incoming email 'bad words' filter
- This would hold messages if they contained words found in a 'bad words'
- file.
-
- * Modify the delegation server
- Make this only send ONE notification per user per delegation period.
-
- * Add capability to TScript to allow starting of OS commands
- This MAY or MAY NOT be limited to Linux version.
-
- * Add in UNIX permissions checking to FTP server
- This could cause problems with restricted files not being restricted.
-
-